How To Enable the WiFi Information Entitlement in iOS 13

Update your app to take advantage of WiFi permission changes

Tejeshwar Singh Gill
Better Programming

--

With the introduction of iOS 13 and the release of iPhone X, a new feature was added known as Access WiFi Information Entitlement. After upgrading to iOS 13 and above, many apps face issues where the WiFi isn’t detected or many features related to the WiFi module don’t work.

So we need to enable the Access WiFi Information Entitlement feature in Xcode, which is a Boolean value indicating whether your app can access information about the connected WiFi network. To add this entitlement to your app, we need enable the Access WiFi Information capability in Xcode.

There are a couple of steps that need to be followed for enabling this feature. Access WiFi Information is all you need for enabling the network capability.

These are the steps that are to required for enabling the Access Wifi Entitlements:

  1. Log into you Apple developer account at https://developer.apple.com, and enable Access WiFi Information for the App ID.

2. Go to the Provisioning Profiles tab, and regenerate them. We need to regenerate the provisioning profile, as it becomes marked as Invalid. Download the latest provisioning profiles (see the next step).

3. In Xcode again, you’ll want to follow the following navigation: Goto > Preferences > Apple IDs > Team. Select the proper team, and click Download Manual Profiles to get the latest profiles.

4. In Xcode, open the project, and go to Entitlements.plist. Add the property com.apple.developer.networking.wifi-info with type, Boolean, and value YES.

5. Now, go to Project Settings > Select Your App Target > Capabilities tab. There is a switch to turn on Access WiFi Information. You can refer to the image below for details.

6. Rebuild the app as ad hoc or debug as per your requirement, and deploy to the device for testing.

Suggestion: I would suggest also that we check the build .app entitlements with codesign. Open your terminal on Mac, and try the codesign command below. Point it to your apps .app file:

codesign -display --entitlements :- /Users/Username/Downloads/MyApp.app

There is a key which indicates whether your app will use the CNCopyCurrentNetworkInfo function to obtain information about the current WiFi network. You can check this in your Plist.

Do read and share !!

--

--

Tejeshwar Singh Gill
Better Programming

(aka IrØn∏∏anill) . Speaker NASSCOM, Architect, Engineering Manager M: +91–9873581799 Linkedin: https://www.linkedin.com/in/tejeshwargill/